home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / object-faq.part7 < prev    next >
Encoding:
Internet Message Format  |  1993-12-15  |  58.8 KB

  1. Subject: Comp.Object FAQ Version 1.0.5 (12-13) Part 7/8
  2. Newsgroups: comp.object,comp.answers,news.answers
  3. From: Bob Hathaway <rjh@geodesic.com>
  4. Date: Tue, 14 Dec 1993 04:49:57 GMT
  5.  
  6. Archive-name: object-faq/part7
  7. Last-Modified: 12/13/93
  8. Version: 1.0.5
  9.  
  10. Arjuna Mailing List
  11.  
  12. To enable us to  help people using Arjuna,  an electronic mail list has 
  13. been setup. You can join  the Arjuna mailing list  by sending an e-mail 
  14. message to "mailbase@mailbase.ac.uk" containing:
  15.  
  16. join arjuna <Your Name>
  17.  
  18. For example : join arjuna John Smith
  19.  
  20. Mail  messages  can  then   be  sent  to  "arjuna@mailbase.ac.uk",  for 
  21. distribution.
  22.  
  23.  
  24. Arjuna Project Team
  25. The Department of Computing Science,
  26. The University,
  27. Newcastle upon Tyne.
  28. NE1 7RU, UK.
  29.  
  30. Fax:           +44 91 222 8232
  31. e-mail:        arjuna@newcastle.ac.uk
  32. anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
  33.  
  34. EMAIL = arjuna@newcastle.ac.uk
  35. POST  = Computing Laboratory, The University, Newcastle upon Tyne, UK NE1 7RU
  36. VOICE = +44 91 222 8067         FAX = +44-91-222-8232
  37.  
  38. Subject: Arjuna papers announcement
  39. Date: Tue, 8 Jun 1993 16:47:02 GMT
  40.  
  41. This is to announce the availability of most Arjuna related papers and
  42. theses via anonymous ftp from arjuna.ncl.ac.uk. These papers are
  43. available in both US Letter and European A4 standards in postscript and
  44. should now print on systems. Any problems in printing should be directed to
  45. arjuna@newcastle.ac.uk.
  46.  
  47. Since there are too many papers to describe in one posting there is an index
  48. available in /pub/Arjuna/Index which contains the abstracts from all of
  49. the papers/theses and their locations within the ftp hierarchy.
  50.  
  51.  
  52. >3  BOS (prototyping)
  53.  
  54. What: BOS
  55. From: Sean.Levy@cs.cmu.edu
  56. Date: 23 Apr 92 18:07:32 GMT
  57.  
  58. [For readers of comp.object and self-interest, BOS is a prototype-based
  59. object system that I have, er, prototyped in Tcl. It is available via anon
  60. FTP to monch.edrc.cmu.edu under /usr0/snl/archive/bos-1.2.tar.Z (you have to
  61. cd to /usr0/snl/archive first and then get the file, due to CMU security hacks
  62. in ftpd). I thought that this would be of interest to comp.object and
  63. self-interest, so I'm cross-posting/mailing --S]
  64.  
  65. Note: I play very fast and loose with the terminology of OOP to get my
  66. point across. I apologize if I offend any sensibilities, and will clarify what
  67. I say if it is obfuscated by my use of terms.
  68.  
  69.  
  70. >4  G++ for DOS (Many sites)
  71.  
  72. :From: DJ Delorie <dj@ctron.com>
  73. :Newsgroups: gnu.announce,gnu.misc.discuss
  74.  
  75. :               DJGPP 1.10 is now available!
  76.                          :
  77.                          :
  78. :               --- DJGPP - G++ for MSDOS/386 ---
  79.  
  80. :djgpp is normally uploaded to:
  81. :  omnigate.clarkson.edu                 128.153.4.2     pub/msdos/djgpp
  82. :  math.utexas.edu                       128.83.133.215  pub/msdos/djgpp(*)
  83. :  ftp.uni-koeln.de                      134.95.128.208
  84. :                                                       msdos/gnuprogs/djgpp (*)
  85. :  ftp.eb.ele.tue.nl                     131.155.40.15
  86. :                                                       pub/pc/gnu/gcc-pl* & gcc-newst
  87. :  wowbagger.pc-labor.uni-bremen.de      134.102.228.9   pub/msdos/djgpp
  88. :  src.doc.ic.ac.uk                      146.169.2.1     ibmpc/djgpp
  89. :  ftp.mcc.ac.uk                         130.88.200.7    pub/djgpp
  90. :  UK.AC.MCC.FTPJ (JANET)                user<guest>     <PUB>djgpp
  91.  
  92. :(*) Please do not access during working hours (7am - 6pm their local time)
  93.  
  94.  
  95. >5  cooC (Concurrent, OO C ext.)
  96.  
  97. From: maeda@isl.rdc.toshiba.co.jp (Ken-ichi Maeda)
  98. Subject: cooC FTP release (2nd posting)
  99. Date: 2 Jul 93 15:13:11
  100. Organization: TOSHIBA R & D Center, Kawasaki, JAPAN.
  101.  
  102.         We are pleased to announce the release of new object oriented
  103. language based on C.  The language has support for concurrent object
  104. execution with synchronous or asynchronous message pssaing and wait when
  105. necessary reply handling.  The language known as cooC (concurrent object
  106. oriented C) is available by anonymous FTP for research purposes.
  107.  
  108.         FTP Site:  tsbgw.isl.rdc.toshiba.co.jp (133.196.1.11)
  109.         File: pub/toshiba/cooc-beta.1.1.tar.Z
  110.  
  111.         The released version of cooC employs SunOS(TM) LWP (light weight
  112. process), to obtain concurrent execution.  The release consists of the
  113. language translator (cooC->C), a runtime library (SunOS(TM)), a
  114. concurrent object based debbuger, an example groupware application
  115. (SharedDraw) and some technical papers.
  116.  
  117. BECAUSE THE SYSTEM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
  118. ANY PART OF THE SYSTEM.
  119.  
  120.         TOSHIBA Corporation while making cooC free for research, retains
  121. copyright.
  122.  
  123.         For further detail, please refer to COPYRIGHT notice in the
  124. package.
  125.  
  126.         Any questions and/or comments are welcome at the following
  127. e-mail address.
  128.  
  129.         cooc@isl.rdc.toshiba.co.jp
  130.  
  131. --
  132. --------------------------------------------------------------------
  133. Ken-ichi Maeda <maeda@isl.rdc.toshiba.co.jp>
  134. Communication and Information Systems Research Lab. II
  135. TOSHIBA Research & Development Center
  136. 1, Komukai Toshiba-cho, Saiwai-ku, Kawasaki 210, JAPAN
  137. TEL. (+81- or 0)44-549-2237  FAX. (+81- or 0)44-520-1841
  138. --------------------------------------------------------------------
  139.  
  140.  
  141. >6  FMPL (prototyping)
  142.  
  143. What: Interpreter for FMPL of Accardi, Release 1
  144. From: blojo@xcf.berkeley.edu (Jon Blow)
  145. Date: 2 Jun 92 08:42:26 GMT
  146.  
  147. An interpreter for FMPL of Accardi, Release 1 is now available for ftp at 
  148. xcf.berkeley.edu:src/local/fmpl/.
  149.  
  150. *FMPL is a prototype-based object-oriented programming language.
  151. *FMPL possesses lambda-calculus based constructs.
  152. *FMPL is an event-driven language; the events it responds to are mainly
  153. based on the behavior of input/output streams, not only within the unix domain
  154. but across the internet as well.
  155. *FMPL supports "pretty"-printing of internally-represented code back into
  156. readable form.
  157. *FMPL is an experimental language developed at the Experimental Computing 
  158. Facility of the University of California, Berkeley.  This release is something
  159. of a beta test since the language has not been widely used outside Berkeley.
  160. It is hoped that this release will draw useful comments and suggestions from
  161. the world at large that will help in improving future versions of FMPL.
  162.  
  163.  
  164. >7  MAX (visual OO)
  165.  
  166. From: fingerhu@ircam.fr (Michel Fingerhut)
  167. Subject: IRCAM DSP software for DEC/ALPHA and DEC/MIPS
  168. Organization: Inst. de Recherche et Coordination Acoustique/Musique, Paris
  169. Date: Fri, 13 Aug 93 11:25:23 GMT
  170.  
  171. ftp.ircam.fr:/pub/IRCAM/programs contains some of the IRCAM-developed
  172. software packages (in demo version; see further down for availability
  173. of the fully functional versions), including runnable binaries for
  174. both the DEC/ALPHA (osf1) and DEC/MIPS (ultrix) architectures, and soon
  175. available on other platforms (SGI and Macintosh).
  176.  
  177. MAX
  178.  
  179. MAX is a visual, object-oriented, programming language, initially
  180. designed for interactive musical performance, but which is suitable for
  181. digital signal processing as well as real-time control.  It allows
  182. interconnecting of oscillators and filters, building custom controller
  183. modules and simulation units all from a core collection of signal
  184. processing objects.
  185.  
  186. First developed by Miller Puckette at IRCAM in late 1986 to control
  187. the IRCAM 4X, it was later implemented on the Apple Macintosh as a
  188. graphical programming environment for MIDI applications.  This version
  189. has been extended by the Opcode company in Palo Alto, CA (USA), and is
  190. available through them.
  191.  
  192. The Alpha version (and its demo-only subset) is based on the NeXT
  193. version, where it is used to control the IRCAM-designed ISPW board.
  194. This card, based on two Intel i860 microprocessors, handles
  195. numerically-intensive real-time operations.
  196.  
  197. To date, it has been extensively used in live performance of
  198. full-length musical compositions (see some references in the MAX/doc
  199. directory), as well as in scientific and experimental applications
  200. requiring real-time control.
  201.  
  202. SVP
  203.  
  204. SVP (``Super Vocodeur de Phase'') is a signal processing tool which was
  205. designed and developed at IRCAM by Gilles Poirot and Philippe
  206. Depalle.  It is a full system for the analysis and synthesis of sound,
  207. whose core is a phase vocoder, and which comprises several modules for
  208. analysis (FFT, LPC..), filtering (band modes, surface modes...), time-
  209. scaling, mixing, spectral combination, cross-synthesis and
  210. amplification, which can be combined in multiple ways.
  211.  
  212. UDI
  213.  
  214. UDI is a library of C routines which provides a coherent software
  215. approach for developing and maintaining digital signal processing
  216. algorithms on stand-alone workstations or on host/array processor
  217. configuration.  Initially designed for sound signal analysis and
  218. synthesis, it can be used by any application which does vector math
  219. calculation.
  220.  
  221. It provides functions ranging from elementary vector and matrix
  222. operations to more specific DSP operations, such as, but not limited
  223. to, FFT, least-square, linear prediction coding, discrete cepstrum and
  224. pitch detection.
  225.  
  226. UDI was actually used in implementing SVP.
  227.  
  228. HOW TO RETRIEVE
  229.  
  230. The following example contains underlined text.  If it does not print
  231. nicely, use your favorite editor in order to remove all occurrences of
  232. "^H_" (control-H followed by underscore).
  233.  
  234. Connect via ftp to ftp.ircam.fr.  Engage into the following dialog (the
  235. underlined text is the reply you should provide
  236.  
  237.         220 ftp FTP server (Version 6.17 Thu Mar 11 08:30:51 MET 1993) ready.
  238.         Name (ftp:host): f_t_p_            (or: a_n_o_n_y_m_o_u_s_)
  239.         Passwd: l_o_g_i_n_@_y_o_u_r_m_a_c_h_i_n_e_       (see NOTE further down)
  240.         230-...
  241.         230-(informational messages, please read!)
  242.         230-...
  243.         ftp> c_d_ _p_u_b_/_I_R_C_A_M_/_p_r_o_g_r_a_m_s_
  244.         250 CWD command successful.
  245.         ftp> g_e_t_ _R_E_A_D_M_E_
  246.         200 PORT command successful.
  247.         150 Opening ASCII mode data connection for README (nnn bytes).
  248.         226 Transfer complete.
  249.         local: README remote: README
  250.         nnn bytes received in mmm seconds (xxx Kbytes/s)
  251.         ftp> b_i_n_
  252.         200 Type set to I.
  253.         ftp> g_e_t_ _s_v_p_._t_a_r_._g_z_             (or u_d_i_._t_a_r_._g_z_ or m_a_x_._t_a_r_._g_z_)
  254.         ...
  255.         ftp> q_u_i_t_
  256.  
  257. NOTE
  258.  
  259. The ftp server requires you to give as password something of the form
  260.         l_o_g_i_n_@_h_o_s_t_
  261. where l_o_g_i_n_ is your login name (or account name, or user information)
  262. and h_o_s_t_ is the fully-qualified name of the machine you are currently calling
  263. from, which is not necessarily the one on which you get your mail.  If you
  264. mistype it, the ftp server will advise you with an informative error message.
  265.  
  266. AVAILABILITY
  267.  
  268. For information on availability of these and other IRCAM tools with
  269. full functionality and documentation, and/or licensing of source code,
  270. as well as IRCAM publications (technical/scientific reports) please contact
  271. (in french or english, preferably):
  272.  
  273.         Mr. Vincent Puig
  274.         Directeur de la Valorisation
  275.         IRCAM
  276.         31, rue Saint-Merri
  277.         F-75004 Paris, France
  278.  
  279.         email:  puig@ircam.fr
  280.         FAX:    +33 1 42 77 29 47
  281.  
  282. Additional info can be found in the README file in the above directory.
  283.  
  284. REPORTING PROBLEMS AND GETTING HELP
  285.  
  286. ... in retrieving the software and/or in running it: please send email to
  287.  
  288.         manager@ircam.fr
  289.  
  290.  
  291.  
  292. >8  O'small (OO lang for teaching)
  293.  
  294. From: hense@sol.cs.uni-sb.de (Andreas Hense)
  295. Subject: *** NEW O'small compiler available by ftp !!! ***
  296. Date: 25 Jun 1993 13:54:35 GMT
  297. Organization: Universitaet des Saarlandes,Rechenzentrum
  298.  
  299.              O'small - THE object-oriented language for teaching
  300.              ---------------------------------------------------
  301.                        (Announcement of a new compiler)
  302.  
  303. *** An object-oriented language for teaching?
  304.  
  305. Depending on which aspects of object-orientation you want to convey you
  306. may choose your teaching language. If you want to teach the aspect of
  307. software reuse and nice graphical user interfaces, you should choose
  308. Smalltalk. If you want to show students how to program in a best
  309. selling language you should choose C++.
  310.  
  311.  
  312. *** In which case should I choose O'small?
  313.  
  314. You should consider O'small if you believe that computer languages
  315. should have a GOOD FORMAL SEMANTICS. Everyone will agree that a
  316. language needs a formal semantics. Otherwise, your program will yield
  317. different results on different implementations. A good formal
  318. semantics does not only serve the purpose of precisely defining what
  319. the results of your programs are, it also gives insights about the
  320. nature of the language. 
  321.  
  322. You should consider O'small if you do not want to waste time on
  323. unnecessary details. O'small is CONCISE. Its syntax and semantics
  324. takes no more than one page (if you choose the right font). Its syntax
  325. is similar to more traditional languages. O'small has been used in a
  326. lecture showing the differences between wrapper semantics
  327. (denotational) and method lookup semantics (operational). 
  328.  
  329. O'small is FREE! Up to now, there has only been an O'small interpreter
  330. written in Miranda [Hen91b]. This interpreter is directly based on the
  331. denotational semantics of O'small [Hen91d]. The interpreter itself is
  332. available by ftp. However, you need Miranda in order to run it. Now,
  333. there is a NEW IMPLEMENTATION of O'small based entirely on EASILY
  334. AVAILABLE SOFTWARE. This software is not free but it does not cost
  335. anything. The new implementation is based on an abstract machine [Boe93].
  336.  
  337. You can MODIFY the language and have your students make experiments
  338. with it. The source code of the abstract machine and the
  339. specifications for the parser and scanner generators are available.
  340. Using these generators you can make experiments for your own research
  341. in statical analysis of object-oriented languages.
  342.  
  343.  
  344. *** I would like to TRY O'small
  345.  
  346. You get the implementation by anonymous internet ftp.
  347. The following table gives the ftp connection information.
  348.  
  349. Host:                   Net Address:      Directory:
  350. -------------------------------------------------------------
  351. cs.uni-sb.de            134.96.7.254      /pub/osmall/machine
  352.  
  353. The directory /pub/osmall/machine contains the files
  354.         README 
  355.         ANNOUNCE                this file
  356.         HowToGetML 
  357.         oma.1.00.tar.Z          compressed tar-file
  358.  
  359.  
  360. ***************************************************************************
  361. NOTE: Ftp should be put into binary mode before transferring the compressed
  362. tar file.
  363. ***************************************************************************
  364.  
  365. Here is a sample dialog:
  366.  
  367.    ftp
  368.    ftp> open cs.uni-sb.de
  369.    Name: anonymous
  370.    Password: <your name>
  371.    ftp> binary
  372.    ftp> cd /pub/osmall/machine
  373.    ftp> get README
  374.    ftp> get ANNOUNCE
  375. (  ftp> get HowToGetML  )
  376.    ftp> get oma.1.00.tar.Z
  377.    ftp> close
  378.    ftp> quit
  379.  
  380. If you have a Sun 4 or a SPARC you can use the existing executable files.
  381. Otherwise, you need 'sml-yacc', 'sml-lex' and 'sml-noshare'. Read
  382. 'HowToGetML' to obtain them.
  383.  
  384. Instructions on using the machine are contained in the file README.
  385.  
  386. References
  387.  
  388. [Boe93]  Christoph Boeschen.  Christmas - An abstract machine for
  389.          O'small.  Master's thesis, Universit"at des Saarlandes, 
  390.          Fachbereich 14, June 1993.
  391.  
  392. [Hen91b] Andreas V. Hense.  An O'small interpreter based on denotational
  393.          semantics.  Technical Report A 07/91, Universit"at des Saarlandes,
  394.          Fachbereich 14, November 1991.
  395.  
  396. [Hen91c] Andreas V. Hense. Type inference for O'small. Technical Report A
  397.          06/91, Universit"at des Saarlandes, Fachbereich 14, October 1991.
  398.  
  399. [Hen91d] Andreas V. Hense.  Wrapper semantics of an object-oriented pro-
  400.          gramming language with state. In T. Ito and A. R. Meyer, editors,
  401.          Theoretical Aspects of Computer Software, volume 526 of Lecture No-
  402.          tes in Computer Science, pages 548-568. Springer-Verlag, September
  403.          1991.
  404.  
  405. [Hen93]  Andreas V. Hense.  Denotational semantics of an object-oriented
  406.          programming language with explicit wrappers.  Formal Aspects of
  407.          Computing, 5(3), 1993. to appear.
  408.  
  409. [HS92]   Andreas V. Hense and Gert Smolka.  A verification of extensible
  410.          record types.  In Zhongzhi Shi, editor, Proceedings of the IFIP
  411.          TC12/WG12.3 International Workshop on Automated Reasoning,
  412.          pages 137-164, Beijing, P.R. China, 13-16 July 1992. Internatio-
  413.          nal Federation for Information Processing, Elsevier, North-Holland,
  414.          Excerpta Medica.
  415.  
  416. [HS93]   Andreas V. Hense and Gert Smolka.  Principal types for object-
  417.          oriented languages. Technical Report A 02/93, Universit"at des Saar-
  418.          landes, Fachbereich 14, June 1993.
  419.  
  420.  
  421. >9  OBJ3 (OO lang)
  422.  
  423. What: Release 2.0 of OBJ3 (needed for FOOPS and OOZE, concurrent OOP)
  424. Date: Thu, 4 Jun 92 15:07:26 BST
  425. From: Paulo.Borba@prg.oxford.ac.uk
  426.  
  427. OBJ is available from SRI, see the message below; prototypes implementations of
  428. FOOPS (without the concurrent extension) and OOZE are due to the end of the
  429. year, but for both you also need OBJ. 
  430.  
  431. Unfortunately, I don't have any document about the FOOPS extension now, but
  432. probably by the end of the year. I will send it to you as soon as possible.
  433.  
  434.  
  435. What: Release 2.0 of OBJ3 is now available
  436. From: winkler@csl.sri.com (Timothy Winkler)
  437. Date: 6 Apr 92 08:35:40 GMT
  438.  
  439. Release 2.0 of OBJ3 is now available!
  440.  
  441. Improvements in this version include some language extensions and additional 
  442. theorem proving features.  In addition, an effort has been made to speed up
  443. the implementation; rewriting is often twice as fast as in the original
  444. implementation.  We are including the AKCL patches from the University of
  445. Texas at Austin in the distribution, which are necessary for maintaining the
  446. portability of OBJ3 and also improve its efficiency.  In addition, we are
  447. distributing a SPARC version of OBJ3.
  448.  
  449. OBJ3 has pattern matching modulo associativity, commutativity, and identity.
  450. New: the system automatically computes conditions for rules involving matching
  451. modulo identity that are used to prevent obvious non-termination problems.
  452.  
  453. Also new to this version of OBJ3 is a facility for controlled rewriting. This
  454. provides substantially increased support for the use of the system for
  455. equational theorem proving.
  456.  
  457. To receive the OBJ3 distribution tape or an OBJ3 license, send a request
  458. to:
  459.  
  460.            Judith Burgess (OBJ3)
  461.            Computer Science Laboratory
  462.            SRI International
  463.            333 Ravenswood Ave.
  464.            Menlo Park, CA 94025-3493, USA
  465.  
  466.         Telephone: (415) 859-5924
  467.         Fax: (415) 859-2844
  468.             email: obj3dist@csl.sri.com
  469.  
  470. Be sure to give us your postal mailing address.  Then we will send you the
  471. OBJ3 Information Form, and License Agreement, with instructions on how to
  472. fill them out.  (A KCL license form will also be included.)  When you return
  473. them to us, appropriately filled out and signed, we will send you the tape,
  474. somedocumentation, and, in case you are requesting a tape, an invoice for
  475. $150.00 plus any required taxes.
  476.  
  477. If you already have an OBJ3 license, then you don't need to get a new license,
  478. but, if you are requesting a tape from SRI, you are asked to pay the above
  479. distribution fee.
  480.  
  481. It is also possible to get a license for OBJ3 at no charge from SRI and then
  482. get the OBJ3 distribution itself from some third party also having a license.
  483.  
  484. Jose Meseguer, Timothy Winkler, and Patrick Lincoln
  485. Computer Science Laboratory
  486. SRI International
  487. 333 Ravenswood Avenue
  488. Menlo Park, California 94025, USA
  489.  
  490. Joseph Goguen
  491. Programming Research Group
  492. Computing Laboratory
  493. Oxford University
  494. 11 Keble Road
  495. Oxford OX1 3QD, United Kingdom
  496.  
  497.  
  498. >10  OBST (lang, perst, OODB)
  499.  
  500. What: OBST (Version: OBST3-2)
  501. From: stone@fzi.de
  502. Date: 19/3/92
  503.  
  504. [ Formerly, we used the acronym SOS, which led to a conflict
  505.   with an object oriented operating system of the same name.
  506.   Therefore we changed the name to OBST ("Obst" is the German 
  507.   word for "fruit"). As many people already use SOS (OBST) we 
  508.   did not change internal things like class names, environment 
  509.   variables and so on. ]
  510.  
  511. The persistent object management system OBST was developed by
  512. Forschungszentrum Informatik (FZI) as a contribution to the STONE
  513. project. This project (supported by grant no. ITS8902A7 from the
  514. BMFT, i.e. the German Ministry for Research) aims at the development
  515. of a software engineering environment for education purposes and is
  516. carried out as a joint project of nine german universities and
  517. research institutions.
  518.  
  519. An essential feature of STONE is that the object oriented paradigm 
  520. is pursued consequently as a key concept. OBST is the common persistent
  521. object store for all tools within the STONE environment. 
  522.  
  523. The OBST data model can be characterized by the following properties:
  524.  
  525.  * Schema definition language syntactically similar to C++
  526.  * Support of multiple inheritance
  527.  * Generic classes
  528.  * Distinction between public, protected, and private methods
  529.  * Redefinition of methods
  530.  * Overloading of methods
  531.  
  532. Schemas are compiled by the OBST schema compiler. The compilation
  533. results are instances of classes of the meta schema. From these
  534. instances in a next step interfaces to different programming languages
  535. can be generated. At present the C++ language binding is implemented,
  536. interfaces to Lisp and other languages are planned.
  537.  
  538. Objects are stored in so-called containers. The container an object
  539. belongs to is determined at the time of object creation and fixed
  540. throughout the object's lifetime. Containers are the units of 
  541. clustering, synchronization, and recovery. Objects can be referenced
  542. by other objects across container boundaries.
  543.  
  544. OBST provides a mechanism to incrementally load methods. This enables
  545. programs to deal with objects whose type is defined after the program 
  546. itself has been developed. This is useful in systems that provide for 
  547. inheritance and it supports schema evolution.
  548.  
  549. Since end 1990 the first prototype of OBST is available and is shipped
  550. to interested universities and research institutions. 
  551.  
  552. The system comes with the schema compiler, a library of predefined
  553. classes, a graphical object browser, the structurer and flattener and the
  554. OShell, and all 
  555. manuals. 
  556.  
  557. Structurer and Flattener is a tool to build objects from bytestrings and
  558. flatten objects down to bytestrings. It is intended to be used when coupling
  559. UNIX tools to the object management system. The user defines a grammar
  560. that describes her objects. Afterwards, the structurer parses an ascii 
  561. text according to the given grammar and creates an OBST object structure that
  562. represents the corresponding parse tree.  The flattener does the inverse
  563. transformation, that means it generates an ascii text from a given OBST object
  564. structure according to the given grammar.
  565.  
  566. OShell is a tool which provides interactive access to the OBST object base.
  567. There is a language called OSL which is based on the lambda calculus and
  568. defines the interface to the OShell tool.
  569.  
  570. For the prototype's installation a C++ compiler (GNU g++ 1.37 or later or AT&T
  571. 2.0/2.1) and the X-Windows system (currently X11R4) for the graphical tools
  572. are required. Installation is well-tried on SUN 3/* and SUN 4/* systems and
  573. should be no problem on other UNIX machines, too.
  574.  
  575. --------------------------------------------------------------------
  576. For more information please mail to:
  577.                 Forschungszentrum Informatik (FZI)
  578.                        STONE Projekt
  579.                  Haid-und-Neu-Strasse 10-14
  580.                      D-7500 Karlsruhe 1
  581.                           Germany
  582. or email to:  stone@fzi.de
  583.  
  584. Phone:        ++49-721-9654-601
  585. Fax:          ++49-721-9654-609
  586. Teletex:      721 190 fziKA
  587.  
  588. The OBST system is available via anonymous FTP from gate.fzi.de
  589. [141.21.4.3]. The system can be found in the directory /pub/OBST.
  590.  
  591. Sites interested in getting information about new OBST developments
  592. are welcome to register in our mailing list by sending an email with
  593. subject "obst-mailing-list" to stone@fzi.de.
  594.  
  595.  
  596. >11  OOT (OO Turing demo)
  597.  
  598. What: OOT
  599. From: holt@turing.toronto.edu (Ric Holt)
  600. Date: 26 Apr 93 20:14:43 GMT
  601.  
  602. OBJECT ORIENTED TURING: DEMO AVAILABLE VIA FTP
  603.  
  604. OOT (Object Oriented Turing) is a programming language that has been 
  605. developed at the University of Toronto.  An OOT demo, which includes the 
  606. fully implemented language, is available for Sun/4's running X windows.  
  607. See below for instructions to copy the demo to your site.
  608.  
  609. OOT supports the standard OOPL features of information hiding, classes,
  610. polymorphism and generics, as well as the usual features in C and Pascal 
  611. style languages.  It also supports concurrency, exception handling 
  612. and system programming (pointer arithmetic, bit manipulation, etc).  
  613.  
  614. The OOT environment is designed for teaching Computer Science.
  615. It is being used in introductory programming courses, courses
  616. on OO concepts, compiler courses, OS courses, etc.
  617.  
  618. The OOT environment is fully integrated, with multi-window editing, turbo 
  619. speed compiler, integrated color graphics, GUI user interface, implicit MAKE, 
  620. on-line manual, integrated demos, etc.  The system includes an experimental
  621. CASE tool with an interface browser and a visual system browser.
  622.  
  623.  
  624. >12  Sather (simple Eiffel)
  625.  
  626. What: SATHER
  627.  
  628. Sather is under development at the International Computer Science Institute.
  629. Sather has clean and simple syntax, parameterized classes, object-oriented
  630. dispatch, multiple inheritance, strong typing, and garbage collection. The
  631. compiler generates efficient and portable C code which is easily integrated
  632. with existing code.
  633.  
  634. The initial beta test release of the language was in May, 1991. The compiler,
  635. debugger, Emacs development environment, documentation, and library classes
  636. are available by anonymous ftp from "icsi-ftp.berkeley.edu".
  637. "sather@icsi.berkeley.edu" is a mailing list for discussing aspects of Sather
  638. and "sather-admin@icsi.berkeley.edu" should be used for bug reports and
  639. requests to be added or deleted from the mailing list.
  640.  
  641. Sather is based on Eiffel but is more concerned with efficiency and less with
  642. some of the formal and theoretical issues addressed by Eiffel. The language is
  643. much smaller than the current Eiffel, it eliminates over 40 keywords and
  644. simplifies the syntax and inheritance rules. 
  645.  
  646. Like Eiffel, Sather code is compiled into portable C and efficiently links
  647. with existing C code. The Sather compiler is written in Sather and has been
  648. operational for almost a year, though it is still being improved. Preliminary
  649. benchmarks show a performance improvement over Eiffel of between a factor of 4
  650. and 50 on basic dispatching and function calls. On the benchmarks used at
  651. Stanford to test Self (including 8 queens, towers of hanoi, bubblesort, etc),
  652. Sather is even slightly faster than C++.
  653.  
  654. The Sather compiler and libraries are publicly available under a very
  655. unrestrictive license aimed at encouraging contribution to the public library
  656. without precluding the use of Sather for proprietary projects.  The goal is to
  657. establish a repository for efficient, reusable, well written, publicly
  658. available, classes for most of the important algorithms in computer science.
  659. There are currently about 120 classes in the library. The libraries are
  660. growing quickly and will collect together classes from many authors under the
  661. same unrestrictive license. 
  662.  
  663. A GNU emacs development environment for Sather is available. A debugger based
  664. on gdb from the Free Software Foundation is also available. A parallel version
  665. of Sather for shared memory machines called "Psather" is also under
  666. development.
  667.  
  668. From the Sather FAQ, August 16, 1993 (See Section 1.24):
  669.  
  670. Q 1: What is Sather?
  671.      ~~~~~~~~~~~~~~ 
  672. Sather is an object oriented language which aims to be simple,
  673. efficient, interactive, safe, and non-proprietary. It aims to meet the
  674. needs of modern research groups and to foster the development of a
  675. large, freely available, high-quality library of efficient
  676. well-written classes for a wide variety of computational tasks. It was
  677. originally based on Eiffel but now incorporates ideas and approaches
  678. from several languages. One way of placing it in the "space of
  679. languages" is to say that it attempts to be as efficient as C, C++, or
  680. Fortran, as elegant and safe as Eiffel or CLU, and to support
  681. interactive programming and higher-order functions as well as Common
  682. Lisp, Scheme, or Smalltalk.
  683.  
  684. Sather has garbage collection, statically-checked strong typing,
  685. multiple inheritance, separate implementation and type inheritance,
  686. parameterized classes, dynamic dispatch, iteration abstraction,
  687. higher-order routines and iters, exception handling, assertions,
  688. preconditions, postconditions, and class invariants. The development
  689. environment integrates an interpreter, a debugger, and a
  690. compiler. Sather code can be compiled into C code and can efficiently
  691. link with C object files.
  692.  
  693.  
  694. >13  Self
  695.  
  696. What: Self 2.0 Release
  697. From: hoelzle@Xenon.Stanford.EDU (Urs Hoelzle)
  698. Date: 10 Aug 92 21:08:25 GMT
  699.  
  700. Announcing Self Release 2.0
  701.  
  702. The Self Group at Sun Microsystems Laboratories, Inc., and Stanford University
  703. is pleased to announce Release 2.0 of the experimental object-oriented
  704. exploratory programming language Self.
  705.  
  706. Release 2.0 introduces full source-level debugging of optimized code, adaptive 
  707. optimization to shorten compile pauses, lightweight threads within Self,
  708. support for dynamically linking foreign functions, changing programs within
  709. Self, and the ability to run the experimental Self graphical browser under
  710. OpenWindows.
  711.  
  712. Designed for expressive power and malleability, Self combines a pure,
  713. prototype-based object model with uniform access to state and behavior. Unlike
  714. other languages, Self allows objects to inherit state and to change their
  715. patterns of inheritance dynamically. Self's customizing compiler can generate
  716. very efficient code compared to other dynamically-typed object-oriented
  717. languages.
  718.  
  719. Self Release 2.0 runs on Sun-3's and Sun-4's, but no longer has an optimizing
  720. compiler for the Sun-3 (and therefore runs slower on the Sun-3 than previous
  721. releases).
  722.  
  723. This release is available free of charge and can be obtained via anonymous ftp
  724. from self.stanford.edu. Unlike previous releases, Release 2.0 includes all
  725. source code and is legally unencumbered (see the LICENSE file for legal
  726. information.)  Also available for ftp are a number of papers published about
  727. Self.
  728.  
  729. Finally, there is a mail group for those interested in random ramblings about
  730. Self, self-interest@self.stanford.edu. Send mail to
  731. self-request@self.stanford.edu to be added to it (please do not send such
  732. requests to the mailing list itself!).
  733.  
  734. The Self Group  at Sun Microsystems Laboratories, Inc. and Stanford University
  735.  
  736.  
  737. >14  C++ gram, etc.
  738.  
  739. What: ftp site for C++ material
  740. From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod)
  741. Date: 27 May 92 22:32:35 GMT
  742.  
  743. There were a lot of questions about C++ material in the last time and some 
  744. announcements which involved our ftp server.
  745.         ftp.th-darmstadt.de [130.83.55.75]
  746.         /pub/programming/languages/C++
  747. At the moment we have:
  748.  -- documentation and assorted stuff
  749.         C++ products list as announced by Saumen K Dutta (in a subdirectory!)
  750.         C++ YACC grammar, ET++ tutorial, summaries from the Net,
  751.         sources from James Coplien's book (idioms...), etc.
  752.  -- class libraries
  753.         NIHCL (original, persistent for ObjectStore, with g++ 1.4x changes)
  754.         COOL, OATH, RogueWave vector, ET++,
  755.         RPC package, a package for sockets, awe (thread package)
  756.  -- tools
  757.         class browser (for GNU Emacs), indent++, yacc+, template
  758.         processor of Brad Cox[sp?], DEC garbage collector
  759.  
  760. More stuff is always welcome.  (Btw, Interviews and Motif C++ wrapper
  761. classes are to be found in the /pub/X11 subtree.)
  762.  
  763.  
  764. >15  ConceptBase (OODB, reqkey)
  765.  
  766. What: ConceptBase
  767.  
  768. See APPENDIX B.
  769.  
  770. A four week test-version of ConceptBase V3.1 is available 
  771. on the FTP server ftp.informatik.rwth-aachen.de in the 
  772. directory pub/CB.  For running the ftp version you must ask for a 
  773. key by email.
  774.  
  775.  
  776. >16  C++ OODB
  777. Exodus (Storage Man, perst)
  778.  
  779. From: darrenp@dibbler.cs.monash.edu.au (Daz)
  780. Subject: Re: Class libraries for accessing RDBs ?
  781. Organization: Monash University, Melb., Australia.
  782. Date: Thu, 17 Jun 1993 23:53:22 GMT
  783.  
  784. shekar@gizmo.CS.MsState.Edu (Chandrashekar Ramanathan) writes:
  785.  
  786. >Hello,
  787. >       Are there any shareware/ftp'able C++ class libraries that
  788. >provide Relational Database access? I would also appreciate any
  789. >pointers (ideas/articles/journals) to the various issues that one has
  790. >to consider in designing such library. 
  791. Ok, I'm not sure if it's exactly what you want, but it's a database, it's
  792. fully written in c++ with classes etc, and it's out for beta testing.
  793.  
  794. Check out pippin.cs.monash.edu.au:pub/export/diamond-0.1.2.tar.Z
  795. and please mail darrenp@dibbler.cs.monash.edu.au if you decide to play with
  796. it.
  797.  
  798. Daz.
  799. --
  800. Darren Platt, Department of Computer Science
  801. darrenp@dibbler.cs.monash.edu.au
  802. Monash University, Clayton Melbourne, Victoria, Australia
  803.  
  804.  
  805. >17  Exodus (Storage Man, perst)
  806.  
  807. What: Exodus project software (Storage Manager & GNU E)
  808. From: zwilling@caseus.cs.wisc.edu (Mike Zwilling)
  809. Date: 16 Jul 92 04:53:19 GMT
  810.  
  811. In the past there have been discussions in comp.object and comp.databases
  812. about persistent storage for object-oriented databases and programming
  813. languages.  As you may know, the EXODUS Database Toolkit project at the
  814. University of Wisconsin has researched these issues and others for a number of
  815. years.  The purpose of this note is to inform you that the software from the
  816. EXODUS project is freely available via anonymous ftp.  The EXODUS software
  817. includes the EXODUS Storage Manager and the compiler for the E persistent
  818. programming language.  Also included is documentation, and a suite of test
  819. programs for both components.  This note briefly describes the software and
  820. explains how to obtain it.  We currently support DECstation 3100s/5000s and
  821. SPARC based workstations.  Others have ported the code to HP700s and IBM
  822. RS6000s.
  823.  
  824. The EXODUS Storage Manager is a client-server object storage system which
  825. provides "storage objects" for storing data, versions of objects, "files"
  826. for grouping related storage objects, and indexes for supporting efficient
  827. object access.  A storage object is an uninterpreted container of bytes which
  828. can range in size from a few bytes to hundreds of megabytes.  The Storage
  829. Manager provides routines to read, overwrite, and efficiently grow and shrink
  830. objects.  In addition, the Storage Manager provides transactions, lock-based
  831. concurrency control, and log-based recovery.
  832.  
  833. GNU E is a persistent, object-oriented programming language developed as part
  834. of the Exodus project.  GNU E extends C++ with the notion of persistent data,
  835. program level data objects that can be transparently used across multiple
  836. executions of a program, or multiple programs, without explicit input and
  837. output operations.
  838.  
  839. GNU E's form of persistence is based on extensions to the C++ type system to 
  840. distinguish potentially persistent data objects from objects that are always
  841. memory resident.  An object is made persistent either by its declaration (via
  842. a new "persistent" storage class qualifier) or by its method of allocation
  843. (via persistent dynamic allocation using a special overloading of the new
  844. operator).  The underlying object storage system is the Exodus storage manager,
  845. which provides concurrency control and recovery in addition to storage for
  846. persistent data.
  847.  
  848. The current release of GNU E is based on gcc/g++ version 2.2.2, and is upward 
  849. compatible with C++ as implemented by that compiler.
  850.  
  851. A bibliography of EXODUS related papers can be obtained from the ftp site
  852. described below.
  853.  
  854. To obtain the software, simply ftp to ftp.cs.wisc.edu (128.105.8.18), login
  855. as anonymous with your email address as a password, "cd" to the "exodus"
  856. directory, and follow the directions (directions will be given as you "cd").
  857. See the README for the latest information about the software and an indication
  858. of our future plans.  If you decide to use the software, please contact us at
  859. exodus@cs.wisc.edu so that we can notify you of changes.
  860.  
  861.  
  862. >18  GRAS
  863.  
  864. GRAS - A Graph-Oriented Database System for SE Applications
  865. Copyright (C) 1987-1992  Lehrstuhl Informatik III, RWTH Aachen
  866. This library is free software under the terms of the GNU Library 
  867. General Public License.
  868.  
  869. Lehrstuhl f"ur Informatik III --> GRAS
  870. University of Technology Aachen (RWTH Aachen),
  871. Ahornstr. 55,
  872. D-5100 Aachen
  873. Contact : Dr. Andy Sch"urr (or Richard Breuer),
  874. andy@rwthi3.informatik.rwth-aachen.de
  875. ricki@rwthi3.informatik.rwth-aachen.de (for technical support)
  876.  
  877. The system GRAS with interfaces for the programming languages Modula-2
  878. and C is available as public domain software for Sun3/Sun4 workstations
  879. (the GRAS system itself is implemented in Modula-2 and consists of many
  880. layers which might be reusable for the implementation of other systems): 
  881.  
  882.   Via anonymous ftp from tupac-amaru.informatik.rwth-aachen.de
  883.   (137.226.112.31) in the directory /pub/unix/GRAS522_3
  884.  
  885.   There are several files contain documentation, sources, binaries,
  886.   and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
  887.   are shipped only if explicitly requested.
  888.  
  889. [See APPENDIX B]
  890.  
  891.  
  892. >19  MOOD   (OODB, lim arch)
  893.  
  894. What: MOOD/P3 Ver.2.00 OODBS {Miniature,Materials}OODBS.
  895. From: ono@mood.mech.tohoku.ac.jp (Noboru Ono)
  896. Date: 18 May 92 10:28:42 GMT
  897.  
  898. The following program/sample database package is available through anonymous
  899. FTP at mood.mech.tohoku.ac.jp (130.34.88.61). Sorry it is not the sources and
  900. operates only in NEC-PC9801/MS-DOS environment.  Sorry again documents are all
  901. in Japanese. We will tell you later when English documents has become ready.
  902.  
  903.       MOOD/P3 Ver.2.00
  904.       Material's Object-Oriented Database, Prototype 3
  905.  
  906. This program, as you may guess,
  907.  
  908.       1) is an Object-Oriented database system program,
  909.       2) operates on PC-9801 series personal computer, and
  910.       3) is accompanied by sample material database schema.
  911.  
  912. Although this program has been developed and being used in the experiments
  913. on material data processing in which we are now involved, it is a general
  914. purpose OODBS. 
  915.  
  916. Noboru Ono
  917. Dept. of Machine Intelligence and Systems Engineering,
  918. Faculty of Engineering, Tohoku University.
  919. Tel:++22-222-1800
  920. Fax:++22-268-3688
  921. E-mail:ono@mood.mech.tohoku.ac.jp
  922.  
  923.  
  924. >20  Ode    (C++ OODB)
  925.  
  926. What: Ode Release 1.1
  927. From: nhg@research.att.com
  928.  
  929. Ode is an object-oriented database based on the C++ database model. The
  930. primary interface to Ode is the database programming language O++ which is
  931. based on C++.
  932.  
  933. Ode 1.1 is now available to Universities.  This is a beta release.  The
  934. current version of Ode runs on Sun (Sparc) workstations and users must have
  935. C++ release 2.0 or a later release.  If you are interested in using Ode and
  936. giving us feedback on your experience with Ode, please send me mail with the
  937. appropriate information.
  938.  
  939. Narain Gehani
  940. AT&T Bell Labs 3D-414
  941. 600 Mountain Ave
  942. Murray Hill, NJ 07974
  943.  
  944.  
  945. From: thssamj@iitmax.iit.edu (Aditya M. Jani)
  946. Subject: *Announcement* UserGroup for ODE (OODBMS from AT&T)
  947. Organization: Illinois Institute of Technology, Chicago
  948. Date: Fri, 25 Jun 93 17:27:53 GMT
  949.  
  950.                     Ode Object database v2.0
  951.                     ------------------------
  952. Ode 2.0 is available via ftp from research.att.com.
  953. Here is a sample session showing how to retrieve Ode 2.0
  954. which is kept in the directory
  955.  
  956.     dist/ode2.0
  957.  
  958. as a compressed tar file named
  959.  
  960. 2.0.oppbin.tar.Z
  961.  
  962. First create the directory on the local machine
  963. where ode is to be installed, e.g.,
  964.  
  965. mkdir ode
  966. cd ode
  967.  
  968. Retrieve the compressed tar Ode file using ftp into
  969. as illustrated below.
  970. Then uncompress it
  971.  
  972. uncompress 2.0.oppbin.tar.Z
  973.  
  974. and unbundle it
  975.  
  976. tar xvf 2.0.oppbin.tar
  977.  
  978. Next see file README, fix install file, and run install
  979.  
  980. ./install
  981.  
  982.  
  983.  
  984.  
  985. Sample ftp session
  986. --------------
  987. $ ftp research.att.com
  988. Connected to tcp!192.20.225.2!1390.
  989. 220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready.
  990. Name (research.att.com:smith): anonymous
  991. 331 Guest login ok, send ident as password.
  992. Password: smith@hostname
  993. 230 Guest login ok, access restrictions apply.
  994. Remote system type is UNIX.
  995. Using binary mode to transfer files.
  996. ftp> cd dist
  997. 250 CWD command successful.
  998. ftp> cd ode2.0
  999. 250 CWD command successful.
  1000. ftp> get 2.0.oppbin.tar.Z
  1001. 200 PORT command successful.
  1002. 150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525
  1003. bytes).
  1004. 226 Transfer complete.
  1005. 2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s)
  1006. ftp> quit 
  1007. 221 Goodbye.
  1008.  
  1009. -------------------------------------------------------------------------------
  1010.  
  1011.                               Available Now!
  1012.  
  1013.  
  1014.  
  1015.  
  1016.                                  Ode 2.0
  1017.                        An Object-Oriented Database
  1018.  
  1019.        C++ Compatible, Fast Queries, Complex Application Modeling,
  1020.        Multimedia Support, and more
  1021.  
  1022.  
  1023.  
  1024.  
  1025.        Ode 2.0 is now available to Universities.  Users who currently
  1026.        have Ode 1.1 will be automatically sent a tape with Ode 2.0.
  1027.        There is no charge for Ode.  However, AT&T requires the signing
  1028.        of a non-disclosure agreement.
  1029.  
  1030.  
  1031.  
  1032.        Details
  1033.        -------
  1034.  
  1035.        ODE OBJECT-ORIENTED DATABASE
  1036.  
  1037.        The Ode object database is based on the C++ object paradigm.
  1038.        Ode  uses  one  integrated data model (C++ classes) for both
  1039.        database and general purpose manipulation.  The Ode database
  1040.        is   defined,   queried  and  manipulated  in  the  database
  1041.        programming language O++, which provides simple and  elegant
  1042.        facilities for manipulating the database.
  1043.  
  1044.        O++  is  an  upward-compatible  extension  of  C++.   A  few
  1045.        facilities have been added to C++ to make it into a database
  1046.        programming language.  C++ programmers can learn  O++  in  a
  1047.        very short time.
  1048.  
  1049.        O++ programs can be compiled with C++ programs thus allowing
  1050.        the use of existing C++ code.
  1051.  
  1052.        THE ODE MODEL OF PERSISTENCE
  1053.  
  1054.        Ode offers a simple and elegant notion of persistence  which
  1055.        is   modeled  on  the  ``heap''.   Specifically,  memory  is
  1056.        partitioned into volatile and persistent.  Volatile  objects
  1057.        are   allocated   in   volatile   memory  (stack  or  heap).
  1058.        Persistent objects are allocated  in  persistent  store  and
  1059.        they  continue  to exist after the program that created them
  1060.        has terminated.
  1061.  
  1062.        An Ode database is a collection of persistent objects.  Each
  1063.        object  is  identified  by  a  unique  object  id  (i.e.,  a
  1064.        persistent pointer,  or  to  be  precise,  a  pointer  to  a
  1065.        persistent object).
  1066.  
  1067.        The database programming language  O++  provides  facilities
  1068.        for   creating  and  manipulating  the  Ode  database.   For
  1069.        example,   O++   provides    facilities    for    specifying
  1070.        transactions,  creating and manipulating persistent objects,
  1071.        querying the database, creating and manipulating versions.
  1072.  
  1073.        WHAT IS AN OBJECT-ORIENTED DATABASE
  1074.  
  1075.        Some  important  characteristics   of   an   object-oriented
  1076.        database are:
  1077.  
  1078.           + data is stored as objects,
  1079.  
  1080.           + data  can  be  interpreted  (using  methods)  only   as
  1081.             specified by the class designer,
  1082.  
  1083.           + relationship  between  similar  objects  is   preserved
  1084.             (inheritance), and
  1085.  
  1086.           + references between objects are preserved.
  1087.  
  1088.        ADVANTAGES OF OBJECT-ORIENTED DATABASES
  1089.  
  1090.           + Speed: Queries can  be  faster  because  joins  (as  in
  1091.             relational  databases)  are  often not needed.  This is
  1092.             because an object can be retrieved directly  without  a
  1093.             search, by following object ids.
  1094.  
  1095.           + No impedance mismatch: The same data model is  used  by
  1096.             both   the   database   programming  language  and  the
  1097.             database;  it  is  not  necessary  to  do  any   format
  1098.             conversions  when  reading  the data from disk and when
  1099.             storing the data on disk.
  1100.  
  1101.           + Programmers  need  to  learn   only   one   programming
  1102.             language:  The  same  programming  language is used for
  1103.             both data definition and data manipulation.
  1104.  
  1105.           + Complex applications: The full power  of  the  database
  1106.             programming language's type system can be used to model
  1107.             the data structures of a complex  application  and  the
  1108.             relationship between the different data items.
  1109.  
  1110.           + Multimedia  applications:  The   semantic   information
  1111.             stored  in  the  database  (class  methods) facilitates
  1112.             correct  interpretation  of  the  data.   This  reduces
  1113.             application complexity since applications do no have to
  1114.             be responsible for the correct interpretation of data.
  1115.  
  1116.           + Versions: Object-oriented databases  typically  provide
  1117.             better support for versioning.  An object can viewed as
  1118.             the set of all its versions.  Also, object versions can
  1119.             be treated as full fledged objects.
  1120.  
  1121.           + Triggers  and  constraints:  Object-oriented  databases
  1122.             provide systematic support for triggers and constraints
  1123.             which are the basis of active databases.
  1124.  
  1125.        Finally, most, if not all, object-oriented applications that
  1126.        have  database  needs  will  benefit  from  using an object-
  1127.        oriented database.  Specifically, C++ applications that have
  1128.        database needs will benefit from using Ode.
  1129.  
  1130.        FEATURES OF ODE
  1131.  
  1132.          1.  Ode is C++ based and compatible with C++.
  1133.  
  1134.          2.  The  Ode  object   database   provides   four   object
  1135.              compatible  mechanisms  for  manipulating and querying
  1136.              the database: O++, OdeView, OdeFS, and CQL++:
  1137.  
  1138.                 + O++ is a database programming language  based  on
  1139.                   C++.   O++  is  upward compatible with C++ and it
  1140.                   makes minimal  changes  to  C++.   O++  offers  a
  1141.                   simple and elegant notion of persistence which is
  1142.                   modeled on the ``heap''.  O++ provides facilities
  1143.                   for querying the database, and a variant of other
  1144.                   facilities.
  1145.  
  1146.                 + OdeView is a graphical X-based interface  to  the
  1147.                   Ode database.
  1148.  
  1149.                 + OdeFS is a  file  system  interface  to  the  Ode
  1150.                   object  database.   OdeFS  allows  objects  to be
  1151.                   treated and  manipulated  like  files.   Standard
  1152.                   commands  such as rm, cp and mv and tools such as
  1153.                   vi and grep can be used to manipulate objects  in
  1154.                   the database.
  1155.  
  1156.                 + CQL++ is a C++ variant  of  SQL  for  easing  the
  1157.                   transition  from  relational databases to object-
  1158.                   oriented databases such as Ode.
  1159.  
  1160.              Currently, only O++ is shipped with Ode 2.0.  A  beta-
  1161.              test version of OdeFS is available upon request.
  1162.  
  1163.          3.  Ode supports large objects  (these  are  critical  for
  1164.              multi-media    applications).    Ode   provides   both
  1165.              transparent access for large objects and a  file  like
  1166.              interface  for  large objects.  The latter can be used
  1167.              to efficiently access and  update  parts  of  a  large
  1168.              object.
  1169.  
  1170.          4.  Users can create versions of objects.  Ode will  track
  1171.              the   relationship   between   versions  and  provides
  1172.              facilities for accessing the different versions.
  1173.  
  1174.          5.  Transactions  can  be  specified  as  read-only;  such
  1175.              transactions  are  faster  because they are not logged
  1176.              and they are less likely to deadlock.
  1177.  
  1178.          6.  Users   can   run    ``hypothetical''    transactions.
  1179.              Hypothetical  transaction  allow users to pose ``what-
  1180.              if'' scenarios (as often  done  with  spread  sheets).
  1181.              User  can  change  data  and  see  the impact of these
  1182.              changes without changing the database.
  1183.  
  1184.          7.  EOS, the storage engine of Ode, is based on a  client-
  1185.              server architecture.  Some features of EOS:
  1186.  
  1187.                a.  Efficient  and  transparent  handling  of  large
  1188.                    objects.  A file-like interface is also provided
  1189.                    for very large objects.
  1190.  
  1191.                b.  Concurrency is based on  multi-granularity  two-
  1192.                    version   two-phase   locking;  it  allows  many
  1193.                    readers and one writer to access the  same  item
  1194.                    simultaneously.
  1195.  
  1196.                c.  Log  records  contain  only  after   images   of
  1197.                    updates,  thus making logs small.  Recovery from
  1198.                    system failures requires one scan over  the  log
  1199.                    resulting in fast restarts.
  1200.  
  1201.        USE MODES
  1202.  
  1203.        Ode supports two modes of use:
  1204.  
  1205.          1.  Client-server (allows multiple  users  to  access  the
  1206.              database concurrently).
  1207.  
  1208.          2.  Single user (improved performance  compared  to  using
  1209.              the client-server mode).
  1210.  
  1211.        USERS
  1212.  
  1213.        Ode 2.0 is currently being used as the multi-media  database
  1214.        engine  for  AT&T's  Interactive TV project.  Ode 1.1 (older
  1215.        version of Ode with  limited  capabilities)  has  also  been
  1216.        distributed to 30+ sites within AT&T and 135+ universities.
  1217.  
  1218.  
  1219. >21  POSTGRES (Ext. Rel. DBMS)
  1220.  
  1221. What: Version 4.0 of the POSTGRES DBMS
  1222. From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith)
  1223. Date: 16 Jul 92 04:53:17 GMT
  1224.  
  1225. Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0 
  1226. provides significant advances in functionality over 3.1.  General improvements
  1227. in the code and some key multi-user bug fixes have resulted in a much more
  1228. reliable system than we have ever previously released.
  1229.  
  1230. Major new features include:
  1231.  o  Complete support for language (POSTQUEL) functions.
  1232.  o  Handling of nested dot expressions.
  1233.  o  Optimization of predicates with expensive functions.
  1234.  o  Binary portals
  1235.  o  Initial support of sets
  1236.  o  Indices on system catalogs.
  1237.  
  1238. Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations
  1239. running ULTRIX >= 4.0, as well as Sequent Symmetry machines.  Postgres
  1240. consists of about 250,000 lines of C.
  1241.  
  1242. If you would like to get Postgres 4.0, you can get it in one of two ways:
  1243.  
  1244. (1)  Anonymous FTP from postgres.berkeley.edu
  1245.  
  1246. cd pub
  1247. get postgres-setup.me
  1248. binary
  1249. get postgres-v4r0.tar.Z
  1250. quit 
  1251.  
  1252. Or, if you do not have net.access, you can order a Postgres distribution
  1253. tape by sending a check payable to the Regents of the University of California
  1254. for $150.00 to:
  1255.          Postgres Project
  1256.          571 Evans Hall
  1257.          University of California
  1258.          Berkeley, CA 94720.
  1259.  
  1260. Indicate in your accompanying letter whether you want the system on a 9-track
  1261. tape at 1600 BPI, at 6250 BPI, on a cartridge tape for SUN shoeboxes (QIC 24 
  1262. format), or on a TK50 DEC cartridge tape.
  1263.  
  1264.  
  1265. >22  Sniff (C++ devel environ)
  1266.  
  1267. [See also APPENDIX C, SNiFF+, for the commercial version]
  1268.  
  1269. What: SNIFF (Sniff 1.1b (C++ Development Environment))
  1270. From: shite@sinkhole.unf.edu (Stephen Hite)
  1271. Date: 23 Aug 92 18:14:00 GMT
  1272.  
  1273. Sniff 1.1b is available from iamsun.unibe.ch in the C++ hierarchy.  It's a
  1274. development environment for C++ (minus the C++ compiler or interpreter).
  1275. It's freely available and you're gonna need OpenWindows 3.0 if you want
  1276. to play with it immediately.  I just downloaded it and haven't had a 
  1277. chance to look into whether the XView 3.0 package will be able to handle
  1278. everything Sniff requires of the OpenLook part.
  1279.  
  1280. And:
  1281.  
  1282. From: sniff@takeFive.co.at (Mr. Sniff)
  1283. Newsgroups: comp.lang.c++,comp.unix,comp.unix.osf.osf1,comp.unix.solaris,comp.object
  1284. Subject: SNiFF+ takeFive Starts Free University Distribution of Commercial C/C++ Programming Environment
  1285. Date: 22 Sep 1993 15:51:26 GMT
  1286. Organization: EUnet EDV-Dienstleistungsgesellschaft m.b.H
  1287. Keywords: programming environments, browsing, C++
  1288.  
  1289. SNiFF+: takeFive Starts Free University Distribution of Commercial C/C++
  1290. Programming Environment
  1291.  
  1292. 1. Introduction
  1293.  ===============
  1294. Since the beginning of 1993 takeFive has taken over development and support 
  1295. for SNiFF+, a leading edge C/C++ programming environment.  With SNiFF+ 
  1296. rapidly gaining commercial acceptance takeFive has decided to offer the 
  1297. product free to educational establishments. There are several reasons for 
  1298. this step.
  1299.  
  1300. ...
  1301.  
  1302. 6. How to Obtain SNiFF+
  1303.  =======================
  1304. 6.1 FTP
  1305.  -------
  1306. Sniff can be downloaded from anonymous FTP sites in USA and Europe.
  1307. You can get all details from info@takeFive.co.at.
  1308.  
  1309. And:
  1310.  
  1311. From: hueni@iam.unibe.ch (Hermann Hueni)
  1312. Subject: Re: Browsers
  1313. Date: Fri, 11 Jun 1993 12:37:28 GMT
  1314.  
  1315. Sniff is a commercial product.
  1316. Send mail to info@takeFive.co.at
  1317. AN early version is available as a SUN SPARC binary only from
  1318. siam.unibe.ch:C++/Sniff1.6/     (THIS site is in EUROPE)
  1319.  
  1320.  
  1321. >23  C++ tags
  1322. Eiffel archive,24
  1323. short tool, 24
  1324.  
  1325. What: ctags/etags for C and C++
  1326. From: kendall@centerline.com (Sam Kendall)
  1327. Date: 10 Jun 92 09:31:27 GMT
  1328.  
  1329. A lot of people have requested this software!  You can now get Tags for
  1330. C/C++ version 1.0 via anonymous ftp at:
  1331.  
  1332.         ftp.centerline.com:/pub/tags-1.0.tar.Z
  1333.  
  1334. ftp.centerline.com is 140.239.2.29.  Anonymous ftp means login as "ftp" and
  1335. give your email address as the password.
  1336.  
  1337. If you don't have ftp access to the internet, you may want to wait for this
  1338. stuff to come out in comp.sources.unix.  Or, if you plan to use it right away,
  1339. send me a letter that says "I can't use ftp; please send by email" and I will
  1340. do so.
  1341.  
  1342.  
  1343. >24  short tool
  1344.  
  1345. From: neil@aldur.demon.co.uk (Neil Wilson)
  1346. Subject: New version of 'short' available
  1347. Date: Sat, 7 Aug 1993 09:38:25 +0000
  1348.  
  1349. A new beta release (1.2) of 'short' is available from the Stuttgart
  1350. Eiffel archive (ftp.informatik.uni-stuttgart.de) in directory
  1351. /pub/eiffel/eiffel-3/sig
  1352.  
  1353. Command line processing is now included in the short system. Short can
  1354. now cope with multiple input files, the standard input and deal with
  1355. most file errors.
  1356.  
  1357. Short now depends on the argument cluster which is available from
  1358. the same archive and directory.
  1359.  
  1360. Short supports the following options:
  1361.  
  1362.         -V, +version, -h, +help
  1363.                 Displays the 'short' version information and gives the
  1364.                 usage help message for the command.
  1365.  
  1366.         -e, +abstract, +eiffel
  1367.                 Produces a fully deferred version of the input class(es)
  1368.                 which will compile just like any other class (hopefully :-)
  1369.  
  1370.         -l <class_name>, +view <class_name>
  1371.                 Produces the output from the point of view of the class
  1372.                 <class_name> - the "short form for <class_name>".
  1373.                 Special handling for ANY and NONE of course. By default
  1374.                 short outputs the "short form for ANY".
  1375.  
  1376.         -f, +full
  1377.                 Produces the short form including all the feature
  1378.                 blocks.  (Implemented as the "short form for NONE".)
  1379.  
  1380.         -p, +parents
  1381.                 Retains the inheritance clause in the output. The default is
  1382.                 to drop it.
  1383.  
  1384.         -b <number>, +blank <number>
  1385.                 Indent levels by <number> characters. 
  1386.  
  1387.         -c <number>, +column <number>
  1388.                 Width of the output is <number> characters. Should be
  1389.                 greater than 20.
  1390.  
  1391. Obsolete features are not retained. Obsolete classes retain no features.
  1392.  
  1393. The output of the tool now conforms to the layout rules in Appendix A of
  1394. ETL and should look like the 'short' examples in the book. As much as is
  1395. possible the output and command line options conform to ISE's 2.3
  1396. version of 'short'.
  1397.  
  1398. This release of short has been tested on all the v1.21 Eiffel/S
  1399. libraries, itself and the argument clusters, plus any other class
  1400. fragments I had lying around at the time.
  1401.  
  1402. My biggest debt is of course to David Morgan. This version is only
  1403. really a tiny modification of his work. His ELEXER Eiffel 3 parser
  1404. remains the core of the tool.  I though am responsible for any remaining
  1405. deficiencies or problems with this release.
  1406.  
  1407. Problems, suggestions, comments, criticisms to me please. All gratefully
  1408. received - I can't improve my Eiffel if somebody doesn't tell me where I
  1409. blew it.
  1410.  
  1411.  
  1412. >25  COOL(C++, Cfront 2.1, from GE)
  1413.  
  1414. COOL is a C++ class library developed at Texas Instruments.
  1415.  
  1416. Features are:
  1417. 1. Rich set of containers like Vector, List, Hash_Table, Matrix, etc...
  1418. 2. Hierarchy is shallow with no common base class, rather than deep like NIHCL.
  1419. 3. Functionality close to Common Lisp data structures, like GNU libg++.
  1420. 4. Template syntax very close to Cfront3.x, g++2.x.
  1421. 5. Free, with good documentation, and extensive test cases.
  1422.  
  1423. Light version of COOL from General Electric:
  1424. 1. Hairy macros, run-time type, exceptions removed for mainstream C++
  1425.    compatibility
  1426. 2. Free of memory leaks and bound violations. Leaks and bounds are checked
  1427.    with Purify.
  1428. 3. Has memory management and efficient copy in expressions like:
  1429.   Set c = a+b+c;    
  1430.   Pointers are shared with Handle and Reference count. Deep copy in
  1431.   expressions are replaced by shallow copy.
  1432. 4. Compatible with Cfront2.1, and is being converted to Cfront3.0. You can
  1433.   build both static and shared library on SunOS 4.1.x
  1434.  
  1435. 1. original version from Texas Instruments:
  1436.    at csc.ti.com, get pub/COOL.tar.Z
  1437. 2. Cfront2.1 version modified by General Electric:
  1438.    at cs.utexas.edu, get pub/COOL/GE_COOL2.1.tar.Z
  1439.  
  1440. I am working on Cfront3.0 version of COOL, using the Beta 3.0 from Sun. I am
  1441. experiencing problems with instantiation and specialization of templates.  So
  1442. Cfront3.0 version of COOL won't be available until Sun's Cfront 3.0 is
  1443. released with bugs fixed.
  1444.  
  1445. Van-Duc Nguyen
  1446. General Electric 
  1447. Research & Development Ctr
  1448. 1 River Road, Room K1-5C39.
  1449. Schenectady, NY 12301.
  1450. Phone: (518) 387-5659
  1451. Fax:   (518) 387-6845
  1452. nguyen@crd.ge.com
  1453.  
  1454.  
  1455. >26  idl.SunOS4.x, idl.Solaris2.x
  1456.  
  1457. Subject: Binaries for OMG IDL CFE placed on omg.org
  1458. Date: 11 Jun 93 00:13:11 GMT
  1459. Reply-To: jyl@toss.eng.sun.com
  1460.  
  1461.  
  1462. SunSoft has made available statically linked binaries for the OMG IDL CFE,
  1463. for both Solaris 1.x and Solaris 2.x. Because they are statically linked,
  1464. these binaries can be used on systems which do not have the SparcWorks (TM)
  1465. compilers installed.
  1466.  
  1467. It is expected that people who only want an IDL parser will prefer to
  1468. obtain these binaries instead of compiling the program on their host.
  1469. People who want to build a complete compiler, by programming their own
  1470. back-end, will continue to obtain the sources which are also provided at
  1471. the same location.
  1472.  
  1473. The binaries can be obtained by anonymous FTP to omg.org. They are
  1474. installed in the directory pub/OMG_IDL_CFE_1.2/bin, in idl.SunOS4.x and
  1475. idl.Solaris2.x. Uuencoded versions are also available, in the same
  1476. directory.
  1477.  
  1478. Please send email to idl-cfe@sun.com if you obtain these files.
  1479.  
  1480. The attached copyright applies to the provided binaries and to the source
  1481. files provided on the omg.org file server.
  1482.  
  1483.  
  1484. Copyright:
  1485. Copyright 1992 Sun Microsystems, Inc.  Printed in the United States of
  1486. America.  All Rights Reserved.
  1487.  
  1488. This product is protected by copyright and distributed under the following
  1489. license restricting its use.
  1490.  
  1491. The Interface Definition Language Compiler Front End (CFE) is made
  1492. available for your use provided that you include this license and copyright
  1493. notice on all media and documentation and the software program in which
  1494. this product is incorporated in whole or part. You may copy and extend
  1495. functionality (but may not remove functionality) of the Interface
  1496. Definition Language CFE without charge, but you are not authorized to
  1497. license or distribute it to anyone else except as part of a product or
  1498. program developed by you or with the express written consent of Sun
  1499. Microsystems, Inc. ("Sun").
  1500.  
  1501. The names of Sun Microsystems, Inc. and any of its subsidiaries or
  1502. affiliates may not be used in advertising or publicity pertaining to
  1503. distribution of Interface Definition Language CFE as permitted herein.
  1504.  
  1505. This license is effective until terminated by Sun for failure to comply
  1506. with this license.  Upon termination, you shall destroy or return all code
  1507. and documentation for the Interface Definition Language CFE.
  1508.  
  1509. [...] etc. on copyright stuff [...]
  1510.  
  1511. SunSoft, Inc.  
  1512. 2550 Garcia Avenue 
  1513. Mountain View, California  94043
  1514.  
  1515.